Advertisement in Operating System

ABSTRACT

Among other disclosures, an operating system presents one or more advertisements to a user and disables one or more functions while the advertisement is being presented. At the end of the advertisement, the operating system again enables the function(s). The advertisement can be visual or audible. The presentation of the advertisement(s) can be made as part of an approach where the user obtains a good or service, such as the operating system, for free or at reduced cost.

TECHNICAL FIELD

This invention relates to computer devices.

BACKGROUND

Many devices have operating systems that control their function. Forexample, computers, cell phones and handheld devices can have differentkinds of operating systems. With some categories of devices, such as apersonal computer, the user can have the ability to choose betweenoperating systems available from different manufacturers. As anotherexample, a user currently using an operating system may want to upgradeto a more recent version of that operating system.

Thus, there are several reasons why a user might consider obtaining anoperating system for the device, whether it be the first operatingsystem ever installed on the device or a replacement for an existingoperating system. The choice among several operating systems necessarilytakes into account device compatibility, but can also be based on otherfactors, such as the functions they offer, their usability andreliability, and also the cost of obtaining and maintaining theoperating system.

SUMMARY

The invention relates to computer devices.

In a first aspect, a computer-implemented method for operating a deviceincludes disabling a function of an operating system in a device. Themethod includes presenting an advertisement in the device while thefunction is disabled. The method includes enabling the function inresponse to the advertisement ending.

Implementations can include any, all or none of the following features.Disabling the function can cause the device to not respond to an inputdevice. Disabling the function can cause an application program to ceasegenerating output. The operating system can be scheduled to perform thedisabling, presentation and enabling steps at predefined times. Themethod can further include selecting the function among a plurality offunctions before each advertisement presentation. The method can furtherinclude determining, before each advertisement presentation, at leastone activity being performed in the device, wherein the function isselected using the determination. The method can further includereceiving user input prompting the presentation of the advertisement tobe postponed for a predefined amount of time; postponing, in response touser input, the presentation of the advertisement by the predefinedamount of time; and reducing a time until a subsequent advertisement ispresented by the predefined amount of time. The method can furtherinclude receiving user input prompting the advertisement to be presenteda predefined amount of time earlier than scheduled, wherein theadvertisement is presented according to the user input; and extending,in response to the user input and by the predefined amount of time, atime until a subsequent advertisement is presented. The advertisementcan be presented using a presentation technique selected from the groupconsisting of: presenting the advertisement as a pane on top of anyother pane in a user interface of the device; presenting theadvertisement in a designated area of a background of the userinterface; presenting the advertisement in a window for an applicationprogram; presenting the advertisement inserted in content from anapplication program; presenting the advertisement through an audiooutput of the device; and combinations thereof. The method can furtherinclude determining whether a user pays attention to the advertisement.The determination can include performing, while the advertisement ispresented, an operation that urges the user to respond; and detectingwhether the user responds to the performed operation. The method canfurther include presenting in the device a user-selectable control thatwhen activated triggers at least one selected from the group consistingof: causing presentation of a page from an advertiser associated withthe advertisement; recording a user rating of the advertisement; againpresenting the advertisement; sharing the advertisement with anotheruser; initiating a transaction for user purchase of a product thateliminates the presentation of advertisements on the device; postponingpresentation of the advertisement; causing the advertisement to bepresented ahead of schedule; causing a previous advertisement to bepresented; causing a preview of a subsequent advertisement to bepresented; causing an overview of all available advertisements to bepresented; and initiating a transaction for user purchase of a productor service to which the advertisement relates.

In a second aspect, a computer program product is tangibly embodied in acomputer readable medium and includes instructions that when executed bya processor perform a method for operating a device. The method includesdisabling a function of an operating system in a device. The methodincludes presenting an advertisement in the device while the function isdisabled. The method includes enabling the function in response to theadvertisement ending.

In a third aspect, a computer-implemented method for providing anadvertisement in a device includes providing an operating system of adevice with at least one advertisement. The operating system isconfigured to temporarily disable a function thereof and present theadvertisement in the device while the function is disabled. The methodincludes receiving a report from the device confirming that theadvertisement has been presented.

Implementations can include any, all or none of the following features.The method can further include configuring the operating system toperform the presentation and temporary disablement steps at predefinedtimes. The report can further identify usage of the device relating tothe presentation of the advertisement. The advertisement can be selectedto be provided to the device based on information about a user of thedevice.

In a fourth aspect, a computer program product is tangibly embodied in acomputer readable medium and includes instructions that when executed bya processor perform a method for providing an advertisement in a device.The method includes providing an operating system of a device with atleast one advertisement. The operating system is configured totemporarily disable a function thereof and present the advertisement inthe device while the function is disabled. The method includes receivinga report from the device confirming that the advertisement has beenpresented.

In a fifth aspect, an operating system is tangibly embodied in acomputer readable medium and includes an advertisement that theoperating system is configured to present to a user. The operatingsystem includes a function that the operating system is configured todisable for presenting the advertisement and then enable in response tothe advertisement ending.

Implementations can include any, all or none of the following features.Disabling the function can cause the operating system to not respond toan input device. Disabling the function can cause an application programto cease generating output. The advertisement can be presented using apresentation technique selected from the group consisting of: presentingthe advertisement as a pane on top of any other pane in a user interfaceof the device; presenting the advertisement in a designated area of abackground of the user interface; presenting the advertisement in awindow for an application program; presenting the advertisement insertedin content from an application program; presenting the advertisementthrough an audio output of the device; and combinations thereof.

Implementations can include any, none or all of the followingadvantages: An improved operating system can be provided. An improveddistribution of an operating system can be provided. Improveddistribution and/or presentation of an advertisement can be provided.Improved control of a device during advertisement presentation can beprovided.

The details of one or more implementations of the invention are setforth in the accompanying drawings and the description below. Otherfeatures, objects, and advantages of the invention will be apparent fromthe description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an architecture for presentingadvertisements.

FIG. 2 is a block diagram of an example of an architecture for managingand presenting advertisements.

FIG. 3 is a flow chart showing exemplary operations for presentingadvertisements.

FIGS. 4A-D depict exemplary screen shots of presenting advertisements ina user interface.

FIG. 4E depicts an exemplary user interface for interacting withadvertisements.

FIG. 4F depicts an exemplary advertisement that includes a prompt foruser interaction.

FIG. 5 is a screen shot showing an exemplary desktop user interface.

FIG. 6 is a screen shot showing an exemplary contextual menu.

FIG. 7 is a screen shot showing an example of an initial phase for apresentation of an advertisement.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an exemplary architecture 100 (e.g., ahardware architecture) for presenting advertisements. In someimplementations, at least one function of an operating system can betemporarily disabled while presenting the advertisement(s). As usedherein, an advertisement is a presentation of information (e.g.commercials, marketing information, announcements, etc.). For example, aperson may be allowed to obtain and use the operating system, or acomputer program or hardware, for free or at reduced cost so long as theperson agrees to view or listen to advertisements (e.g., commercials)that are presented.

The architecture 100 here includes a personal computer 102 coupled to aremote server 107 via a network interface 116 and a network 108 (e.g.,local area network, wireless network, Internet, intranet, etc.). Thecomputer 102 generally includes a processor 103, memory 105, one or moreinput devices 114 (e.g. keyboard, mouse, game controller, microphone,camera, touch screen) and one or more output devices 115 (e.g. displaydevice, video output, audio output, tactile feedback). A user interactswith the architecture 100 via the input and output devices 114, 115.Architecture 100 as disclosed includes various hardware elements.Architecture 100 can include hardware, software, or combinations of thetwo. Other architectures can be used, including some that do not have aclient-server configuration.

The computer 102 here also includes a local storage device 106 and agraphics module 113 (e.g., graphics card) for storing information andgenerating graphical objects, respectively. The local storage device 106can be a computer-readable medium. The term “computer-readable medium”refers to any medium that participates in providing instructions to aprocessor for execution, including without limitation, non-volatilemedia (e.g., optical or magnetic disks), volatile media (e.g., memory)and transmission media. Transmission media includes, without limitation,coaxial cables, copper wire, fiber optics, and computer buses.Transmission media can also take the form of acoustic, light or radiofrequency waves.

Systems and methods are provided for the presentation of advertisements.The systems and methods can be stand alone or otherwise integrated intoa more comprehensive application. In the materials presented below, anintegrated system for presenting advertisements is disclosed. While thepresentation of advertisements is discussed by way of example below,other forms of content can be presented to the user.

The following notes apply to one or more implementations describedherein: The implementation of advertisement presentation in an operatingsystem (OPS) can require an analysis of the level of security requiredfrom the perspective of the manufacturer or provider of the computersystem. For example, a system architecture can be designed (or modified)to supply advertisement presentation, in a way that ensures or seeks toensure that a user does not bypass the presentation and thereby rendersit fully or partially ineffective. A person implementing OPS-basedadvertising can analyze a hardware structure and identify one or morepoints (e.g., parts and subparts) therein to which the advertisementpresentation should be tied, both for purposes of facilitating thepresentation and to provide the above-mentioned resistance against useractions. For example, hardware points can be identified and controlledaccordingly, so that the advertisement presentation can in effect “takeover the system” in relevant aspects for a limited time.

In implementations where the OPS-based advertising is provided usingexecutable code in the system, it can be necessary or desirable toprotect that code from being removed, rendered inoperative, bypassed ormanipulated. As another example, the system can provide constant orrepeated monitoring of whether the system presents the advertisement(s)as scheduled. If non-presentation is detected, the system can invoke oneor more enforcement routines to seek compliance with the advertisementpresentation schedule. Such enforcement routines can include, but arenot limited to, disabling the system in whole or in part, reporting theissue to a responsible party, invoking an alternative way of presentingthe advertisement (such as by audio when visual presentation isimpeded), or by registering the non-compliance in a log that can laterbe used in a follow-up process. In some implementations, an enforcementroutine is implemented in a different part of the system (e.g., in adifferent software and/or other system component) than the OPS-basedadvertising feature it is designed to monitor. For example, an operatingsystem can have a windows server that maintains windows and controlstheir presentation on a display screen, and the windows server in suchan implementation can be configured or modified to provide for OPS-basedadvertising. As another example, when the advertising is visuallypresented in a user interface the system can be designed to not allowanything to be presented over that interface, or to prevent anythingfrom being drawn on top of it.

While the presentation of advertisements is described in examples hereinwith respect to a personal computer 102, it should be apparent that thedisclosed implementations can be incorporated in, or integrated with,any electronic device, e.g., a device that has a visual user interface,including without limitation, portable and desktop computers, servers,electronics, media players, game devices, mobile phones, wirelessdevices, email devices, personal digital assistants (PDAs), embeddeddevices, televisions, set top boxes, etc.

One of ordinary skill in the art will recognize that the engines,methods, processes and the like that are described can themselves be anindividual process or application, part of an operating system, aplug-in, an application or the like. In one implementation, the systemand methods can be implemented as one or more plug-ins that areinstalled and run on the personal computer 102. The plug-ins areconfigured to interact with an operating system (e.g., MAC OS® X,WINDOWS XP, LINUX, etc.) and to perform the various functions, asdescribed with respect to the Figures. A system and method forpresentation and use of advertisements can also be implemented as one ormore software applications running on the computer 102. Such a systemand method can be characterized as a framework or model that can beimplemented on various platforms and/or networks (e.g., client/servernetworks, stand-alone computers, portable electronic devices, mobilephones, etc.), and/or embedded or bundled with one or more softwareapplications (e.g., email, media player, browser, etc.). Thearchitecture 100 includes an advertising component 118 that isconfigured to disable at least one function of the operating system andto present advertisements, for example by presenting them on the displaydevice 113, and then enabling the disabled function or functions inresponse to the advertisement ending.

FIG. 2 is a block diagram of an example of a system 200 for themanagement and presentation of advertisements. The system 200 includes acomputer device 205 that is connected to an advertising managementsystem 210 and an advertiser's system 215 through the network 108.Generally, the advertising management system 210 distributesadvertisements relating to goods or services for one or more vendorsthat operate the advertisement system 215, and the computer device 205presents advertisements 220 for the products, goods, and/or servicesbeing promoted by the advertiser's system 215.

Each advertisement 220 may have various intrinsic features. Suchfeatures may be specified by an application and/or an advertiser, oftendepending on the type of online ad. The advertisement 220 may include,for example, a rectangular banner ad, an audio ad, a video clip, animage file, executable code, embedded information, or any other media,content, or interactive advertisement. For example, in the case of atext advertisement, advertisement features may include a title line(e.g., the name of a product), advertisement text (e.g., text describingthe general nature of the product), and an embedded link (e.g., a URL)that links to a landing page (e.g., web site 225) provided by anassociated advertiser. In the case of an image ad, advertisementfeatures may include one or more images (e.g., images of a product),executable code (e.g., embedded HTML code), and an embedded link. Whilethe advertisements 220 are shown to reside with the advertiser's system215, the advertisements 220 also can be stored in the advertisingmanagement system 210, or stored with the ad content 265 in the computerdevice 205.

Advertisements 220 are set up to be presented on the computer device 205in an attempt to entice a user of the computer device 205 to engage insome form of commerce (e.g., any conversion event that includes uservisit to a web site 225, user purchase of a product, user subscriptionto an email list, etc.) via the advertiser's system 215. In return forpaying attention to the advertisements 220, the user can receive aproduct or service for free or at reduced cost, or otherwise receive abenefit.

The computer device 205 is an example of the computer 102 of FIG. 1. Thecomputer device 205 may be manifested in a number of forms; for example,the computer device 205 may be a personal computer (PC), a personaldigital assistant (PDA), a cell phone, a media player, vehicleentertainment system, etc. The computer device 205 has an operatingsystem 230, and the operating system 230 provides a software platform235, an input/output management module 240, and an advertisingpresentation module 245.

The operating system 230 is configured to present one or more of theadvertisements 220 to users of the computer device 205. In someimplementations, the operating system 230 can disable one or morefunctions during the presentation of the advertisements 220 and thenenable the function(s) in response to the advertisements 220 ending.That is, the operating system can disable some aspect of its operationto prompt the operator to pay attention to the advertisement.

The software platform 235 provides a framework upon which one or moreapplication programs 250 (e.g., programs, services, user interfaces) maybe executed. For example, the operating system can disable input to, oroutput from, one or more of the application programs 250 while theadvertisement is being presented.

The input/output management module 240 controls the use of the inputdevice(s) 114 (FIG. 1) and the output device(s) 115 (FIG. 1). Forexample, the module can have an input devices unit 255 that managesinteraction with the input device(s) 114, and an output devices unit 260that manages interaction with the output device(s) 115.

The advertising presentation module 245 manages the presentation of oneor more advertising content 265 (or portions thereof) in the computerdevice 205. For example, the advertisements 220 or data informationassociated with the advertisements 220 can be received from theadvertiser's system 215 or from the advertisement database 290 of theadvertising management system 210, and the advertising presentationmodule 245 can be configured to store the received advertisements 220 asparts of the advertisement content 265, and present the content 265 atpredetermined intervals. The exemplary advertising presentation module245 shown includes the advertising content 265, a log 270, and controls275.

The advertising content 265 is a collection of media that could bevisual or audible (e.g., static text, interactive applications, videocontent, audio content) or a combination of both to name a few examples.Various techniques may be used to present the advertising content 265;for example, the advertising content 265 may be presented as a pane(e.g., presented on a pane on top of any other pane) in a user interfaceof the computer device 205, the advertising content 265 may be presentedin a designated area (e.g., in a designated area of a background) of theuser interface, the advertising content 265 may be presented in a windowfor an application program 250, the advertising content 265 may bepresented in content from an application program 250, or the advertisingcontent 265 may be presented through the audio output of the computerdevice 205.

The advertising presentation module 245 can seek to ensure that the userwatches and/or listens to the advertising content 265, for example bycausing the input devices unit 255 to temporarily disregard user inputor by causing the output devices unit 260 to cease generating outputfrom some or all of the application programs 250 during the presentationof advertising content 265. For example, during the presentation of anadvertisement, a computer's keyboard and mouse may temporarily bedisabled, or a music or DVD player may pause playback.

In some implementations, the operating system 230 can be configured sothat it is capable of disabling any or all of several functions. Forexample, such functions can include, but are not limited to, visualoutput, audio output, output from an application program, online output,online access, keyboard input, mouse input. That is, when the operatingsystem 230 disables one or more functions, functions that are notdisabled may continue operating. For example, a window, screen, speakeror other output component can remain enabled so that it can be used topresent the advertisement. Accordingly, the operating system 230 canselect the function among a plurality of functions for purposes of anadvertisement presentation. Such a selection can be performed a singletime for multiple presentations or it can be performed before eachadvertisement presentation, to name just two examples.

In some implementations, the selection of a function to disable can takeinto account some aspect of the current system and/or how it is beingused. The operating system 230 can choose the disablement so that ittargets a particular component that is currently in use. For example,the system can detect that a user is currently playing music and/orvideo content on the computer and can choose to disable this outputentirely or in part to better get the user's attention. As anotherexample, it can be detected that several activities are ongoing in thesystem, and that one of them is apparently receiving the majority of theuser's attention because there are relatively many user inputs to thatparticular activity compared to the others. In such a situation, thesystem can choose at least the activity receiving the most attention tobe disabled in connection with the advertisement(s). Accordingly, theoperating system (e.g., the advertising presentation module 245) candetermine at least one activity that is being performed in the computerbefore the advertisement presentation. The selection of what function(s)to disable can take into account the result(s) of such a determination.

The controls 275 can provide the user of the computer device 205 variousapproaches for interacting with the advertising content 265 and allow,in some implementations, the user to manage the advertisementpresentation to some extent. In some implementations, a user interfacewith various interface elements may be displayed during the presentationof the advertising content 265 so that the user of the computer device205 may obtain further information about the advertised product, allowthe user to repeat the advertising content 265, or allow the user toview additional advertising content 265, to name a few examples. In oneimplementation that is primarily audio-based (for example, a portablemusic player), the controls 275 may be manifested as software orhardware interface elements, and the function of these elements may bemodified during the playback of the advertising content 265 to allow theuser to repeat the advertising content 265, bookmark the advertisingcontent 265 for later review upon docking with a host computer, and/orto listen to further advertising content 265, to name a few examples. Anexample of this interaction will be described further in the descriptionof FIG. 4D.

The log 270 can track the presentations of the advertising content 265on the computer device 205. In some implementations, the log 270 mayinclude, but is not limited to, the ability to record the time and dateof when the advertising content 265 was presented, the interactiveactions a user took in response to the advertising content 265 (e.g.,replay an advertisement, email it to a friend, browse the advertiser'sweb site 225, do nothing), and/or track the identity of the interactiveuser.

The advertising management system 210 can provide some or all of theadvertising content 265 to the advertising presentation module 245. Theadvertising management system 210 can also receive reports stored in thelog 270 about activity on the computer device 205, to confirm whetherthe advertising content 265 has been presented, optionally along withany other information that may be recorded therein. The advertisingmanagement system 210 may also deliver additional information to theadvertising presentation module 245 that configures the operating system230 to perform the presentation and temporary disablement steps atpredefined times. Such additional information and other possible updatesassociated with the functions performed by the advertising presentationmodule 245 may be transferred or downloaded to the computer device 205via the network 108 on a scheduled or random basis.

The process of presenting the advertising content 265 and receivingreports about information from the log 270 may be used as part of anapproach for subsidizing the cost of hardware and/or software for thecomputer device 205. For example, a manufacturer of the computer device205 (e.g., Apple Computer Inc.) may provide the computer device 205(e.g., a Macintosh computer, an iPod media player and the like) and/orsoftware (e.g. Mac OS X, iTunes, etc.) to users (or consumers) at areduced cost or for free in return for the ability to presentadvertisement on the computer device 205. In such an example, themanufacturer may operate as the advertisement management system 210, oralternatively, partner with an external source to operate as theadvertisement management system 210 that forwards the advertisingcontent 265 to the computer device 205, and can optionally collect thelog 270 from one or more of the devices. In another example, themanufacturer could sell advertisement “space” available on the computerdevice 205 to advertisers and/or generate additional revenue based uponuser interactions with the advertisements 220; for example, bycollecting a fixed or variable fee from an advertiser for every time auser visited the advertiser's web site 225 via a hyperlink embedded inthe advertisement 220.

The advertising management system 210 can include an advertisingassignments feature 280, a usage tracking feature 285, and anadvertisement database 290. The advertising management system 210 canretrieve the advertising content 265 from the advertisement database 290and send the content 265 over the network 108 when the computer device205 is online. The advertising content 265 available in the database 290can have been obtained from the advertiser's system 215.

The advertising assignments 280 feature defines what advertising content265 is to be delivered to what particular computer device 205 and/or towhich users, and/or defines when the advertisements 220 should be shown,to name some examples. The advertising assignments 280 may be based uponthe computer device's 205 capabilities; for example, high-resolutionforms of the advertising content 265 may be assigned to desktopcomputers, reduced-bandwidth content 265 may be assigned to laptopcomputers, low-resolution content 265 may be assigned to PDAs and videomedia players (e.g., video ipods), and audio-only content 265 may beassigned to audio-only media players (e.g., iPod Shuffle). Theassignments 280 may be based upon users' preferences; for example, auser may have filled out a questionnaire where he or she may haveexpressed a special interest in travel, and therefore may receive agreater proportion of travel related advertisements 220. In anotherexample, the advertising content 265 may be assigned based upon users'demographic information; for example, an advertiser for sports equipmentmay choose to market snowboards to younger users and golf clubs to olderusers. In another example, the advertising content 265 may be assignedbased upon users' geographic location; for example a regional chain ofrestaurants may choose to advertise only to users who live in that sameregion.

The advertisement system's usage tracking feature 285 monitors thereports that are returned from the computer device 205, and can use thisinformation to tailor the assignments 280 of advertisements 220. Forexample, the usage tracking feature 285 may detect that a particularuser clicks through a high percentage of ads for automobiles, and canrespond by delivering to that user a greater ratio of advertisingcontent 265 for automobiles or auto accessories. The user's response tothe advertising content 265 can be monitored; for instance, the user mayshow interest in the advertising content 265 for minivans or mobile DVDplayers, and the usage tracking feature 285 may infer that the user hasa young family and respond by assigning a higher ratio of advertisementsfor children's clothing or family movies.

In some implementations, the usage tracking feature 285 may alsoaggregate the responses of all users of a particular computer device205. For example, one user of a computer device 205 may respond toadvertising content 265 for airlines while a second user of that devicemay respond to advertising content 265 for hotels. Based upon thisinformation, the usage tracking feature 285 may infer that these usersare planning a trip, and may respond by assigning a higher ratio ofairline and hotel related advertising content 265, and also a higherratio of content 265 for rental cars or cameras as well.

The advertiser's system 215 can be the computer system from whichadvertising content 265 originates, and the advertiser's system 215 canbe the target with which the advertiser wishes the computer device 205users to interact. In the illustrated implementation, the advertiser'ssystem 215 includes the one or more advertisements 220 and the web site225. Using the network, the advertiser's system 215 may sendadvertisements 220 to the advertising management system 210, whichstores the advertisements 220 in the advertisement database 290. Thiscan allow an advertiser to manage the content of the advertisements 220that are assigned to the computer device 205. The web site 225 of thisexample may be the target of the advertisements 220; for example, theadvertisements 220 may promote the advertiser's web site 225 in aneffort to offer and/or sell products, goods, or services. In thisexemplary manner, the advertiser directly or indirectly subsidizes thecosts of the computer device 205s and/or software.

FIG. 3 is a flow chart that illustrates an exemplary method 300 ofoperations. For example, the operations can be performed on the computerdevice 205 of FIG. 2. These operations relate to the presentation ofadvertising content and the enabling/disabling of a function in theoperating system.

In step 302, the operating system is started. The computer device 205can initiate the operating system 230 upon startup, as a part of arecovery from a hard or soft reset, as part of a manual operation,and/or other methods by which the operating system 230 may be started,to name a few examples.

The method 300 determines if it is time to present an instance ofadvertising content at step 304. This determination and timing, in someimplementations, may be determined by the advertising presentationmodule 245 and/or the advertising assignments 280. This timing can bebased on, but is not limited to, the actual time and/or date, the amountof time that the operating system 230 has been running, the amount oftime the computer device is actively being used (as opposed to sittingidle), and/or by the amount of processing power being used (e.g., theperformance of CPU-intensive tasks may prompt more frequent presentationof advertising content 265 than the performance of less CPU-intensivetasks) or other measurands. If at step 304 it is determined that it isnot yet time to present an advertisement, then step 304 can be repeated.If it is determined at step 304 that it is time to present anadvertisement, then the method 300 continues at step 306.

Another determination is made at step 306 to see if a time extension isavailable to the user. As one example, the user may be voluntarilyexposed to the advertising content 265 to receive time credit in form oftime extensions to delay future presentations of the advertisementcontent 265. As another example, a predefined number of extensions (suchas only one) may be available at any time, but at the expense of a nextadvertisement-free time period being shortened by a corresponding amountof time. If such a time extension is available, the method 300 continueswith step 308. If such a time extension is not available, the method 300proceeds to step 310.

In step 308, it is determined whether the user takes the extension. Theuser has the option to delay the presentation of advertisement content265 by using the available time extensions. For example, in a desktopcomputer, the user can select one of the controls 215 to choose to watchthe advertisement content 265 immediately, or to delay the presentationby using the available time extensions. In an implementation of thecomputer device 205 as an audio player with only hardware buttons and nodisplay, the advertising presentation module 245 may present an audibleprompt to the user, and the controls 275 may be implemented byprogramming the behavior of the hardware buttons (e.g., the“fast-forward” button can be configured to extend time, and the “rewind”button can be configured to present an advertisement immediately). Ifthe user chooses to use a time extension, then the method 300 continuesat step 312. Otherwise, if the user chooses not to use a time extensionthen the method 300 continues at step 310.

At step 312, the user has chosen to use a time extension and extra timeis granted. In implementations of the method 300 where the user isallowed to accrue time extension credits, this step may also deductcredits from the user's total amount of accrued time extension credits.The method 300 then proceeds to repeat step 304.

At step 310, an advertisement is presented. For example, the advertisingpresentation module 245 can interact with the operating system 230and/or the application program 250 in order to present the advertisementcontent 265 to the user.

Optionally, a function of an operating system can be disabled during theadvertisement. In some implementations, the system disables thefunction(s) so the user's attention is not diverted to another systemaspect, such as to make a user input or to view or hear applicationoutput. For example, one or more items controlled by the input devicesunit 255 and/or the output devices unit 260 can be disabled while thefunction is disabled.

Different timings of the disablement can be used. In someimplementations, the disablement can start before (such as a few secondsahead of) the beginning of the advertisement. In some implementations,the disablement can start at the same time as the advertisement. In someimplementations, the disablement can start after (such as a few secondslater than) the beginning of the advertisement. Similarly, differenttimings can be used for the end of the disabling. The disabling can endbefore, at the same time as, or after the end of the advertisement. Thetimings for beginning and ending the disabling can be selectedindependently of each other.

In an attempt to ensure that the user is actually watching and/orlistening to the advertisement content, the method 300 can include astep 314 for verifying user presence and giving proper credit (e.g.,time for using the operating system 230, time for using the applicationprogram 250, time extension credit). In some implementations, theadvertisement presentation module 245 can prompt the user to confirmthat he or she is reviewing the content (e.g., paying attention to theadvertisement) being presented (e.g., the user is prompted to click acertain button, click a certain object or area on the screen, press aparticular key or keys). In some implementations where the computerdevice 205 is a cell phone or music player, the user may be prompted topress a certain button or keypad key in order to confirm that they arepaying attention. In one implementation, the approaches for verifyinguser presence can be made progressively more aggressive if the user hasfailed a previous test. For example, after the user fails the test thefirst time, the subsequent tests can be made to appear more frequentlyor at varying times. As another example, the test(s) can be made moresubtle so as to render them more difficult to perceive, such as byreducing the size of a message box on the screen, or by making an audioprompt more similar to the advertisement in which it is inserted. If theuser fails the test in step 314 the method 300 can perform step 310 overagain; that is, the entire advertisement can be played again while theoperating system maintains the function(s) in a disabled state. Asanother example, the user's failure can first result in any availableextension(s) being consumed (compare step 306), and only thereafter isan advertisement played in its entirety.

At step 316, the method checks to see if the presentation of theadvertisement has finished. That is, it is contemplated that theadvertisement has a definite length and after it is finished theoperating system should again enable the disabled function(s), if any.This determination may be made by, but is not limited to, the conclusionof playback of the advertising content, the verification of userpresence, and/or the accumulation of an amount of time extensioncredits. For example, some users may attempt to accrue usage time byhaving the computer device 205 present many instances of theadvertisement content 265 back-to-back while he or she is absent.Therefore, method 300 can be implemented in such a way as to requirethat in order to receive credits, the users must verify that theyactually were present and attentive during the presentation. Inimplementations that disable a function of the computer during theadvertisement, the determination that the advertisement has finished cantrigger the re-enablement of the disabled function. In situations wherethe length of the advertisement is known in advance, step 316 need notbe performed, or can be performed in a modified way, such as tore-enable the function before the advertisement ends, for example.

If the criteria for determining whether an advertisement has beensatisfied, then the method proceeds to step 318. If the criteria fordetermining whether an advertisement has not been satisfied, then step310 is repeated.

Advertisement presentation, user interaction information, and otherrelated usage can be tracked at step 318. In the example of computerdevice 205, this information is recorded in the log 270, for the use ofthe usage tracking feature 285. In this exemplary manner, theadvertising management system may use this information to alter thebehavior of the advertising assignments feature 280, and obtain paymentsfrom the advertiser(s) for the total volume of advertising content 265presented on their behalf and/or the kinds of interactions users havetaken with those presentations.

At step 320, it is determined whether the users chooses to pre-buy usagetime. For example, the user may volunteer to watch the presentation ofadditional advertising content 265 in order to accrue time extensioncredits. In another example, the user may have an option to pay a fee inexchange for the temporary or permanent advertisement-free use of thecomputer device 205. If the user chooses to pre-buy time, then the extratime is granted at step 312. Otherwise, if the user opts not to pre-buytime, then the method repeats at step 304.

FIGS. 4A-D illustrate examples of how advertisement content can bepresented. For example, the advertisement content 265 can be presentedin a display 402 that is part of the computer device 205. In FIG. 4A,the display 402 shows two instances of a program screen area 404corresponding to one or more application programs. Each of the screenareas 404 may be the visual component of instances of the applicationprogram 250, for example. In this implementation, the advertisingpresentation module 245 has determined that it is time to present theadvertisement content 265, and interacts with the input/outputmanagement module 240 in a manner such that the output devices unit 260(in this case, controlling the display 402) presents the advertisementcontent 265. In this illustrative example, the advertisement content 265is presented in an advertisement screen area 406. The advertisementscreen area 406 can be displayed on top of any or all instances of theprogram screen area 404. In this manner, the user is prompted to watchthe advertisement content 265 because it obscures the program screenarea(s) 402.

In FIG. 4B, the display 402 shows one or more of the program screenarea(s) 404 as well as an advertisement screen area 408. In thisexample, the advertisement screen area 408 is a designated area of auser interface background, and is for example displayed as a “docked”region of the display 402. In this manner, the user is prompted to watchthe advertisement content 265 because it occupies a portion of the totalviewable area of the screen 402.

FIG. 4C depicts a third example in which the advertising content ispresented in an advertisement screen area 410 that is inserted incontent from an application program, and for example displayed as a“docked” region of a program screen area 404. In another implementation,the advertisement content can be presented by occupying the entire areaof the display 402, by overlaying the content semi-transparently overpart or all of the display 402, to name a few examples.

FIG. 4D shows an example where advertising content is presented in theadvertisement screen area 408 (see also FIG. 4B), and where this area408 extends substantially over an entire background or desktop space inthe display. That is, the advertisement screen area 408 can beconfigured to have any of many different sizes and/or shapes, forexample those shown in these figures.

FIG. 4E is an illustrative example of the controls 275 (FIG. 2). In thisexample, the controls 275 appear as an advertising control 412 thatincludes a collection of interface elements (e.g., menu items, buttons,etc.) to perform various functions. For example, the control 412includes a “visit web site” element 414 that allows a user to visit thewebsite relating to the subject of the advertisement content 265. Thecontrol 412 also includes a “rate ad” element 416 that allows a user togive feedback to the advertiser concerning the advertisement content265, and a “watch ad again” element 418 that allows the user to replaythe advertisement content 265. The following are additional examples.The control 412 can include a “share ad” element 420 that provides theuser with a way to encourage other users to view the advertisementcontent 265. The control 412 can include a “buy product” control 421that initiates a transaction for purchasing a product/service to whichthe advertisement content relates. The control 412 can include a “seeall ads” element 422 lets the user choose from among all the availableadvertisement content 265. The control 412 can include a “preview nextad” element 424 that allows the user to view a snippet of theadvertisement content 265 that is to be played next.

In addition to interface elements that control the playback ofadvertisement content 265, the control 412 further includes a “pre-buytime” element 426 that lets the user view another advertisement ahead ofits scheduled time to create a longer period of time when the system isnot interrupted by advertisements. The control 412 also includes a “buyad-free version” element 428 that lets the user make a purchase thatwill end the presentation of advertisement content 265. For example, theuser can choose to purchase the right to use the operating system 230(i.e., the computer device 205) free of commercials. This transition canbe accomplished by the advertising management system 210 pushingsoftware to the computer device 205, or by disabling the advertisingpresentation module 245, to name two examples.

In addition to the various interface elements described above, theadvertising control 412 also displays a timer 430 that shows the amountof time remaining until the user will be compelled to view the nextpresentation of the advertisement content 265. The control 412 alsoincludes an “extend” element 432 that lets the user postpone thepresentation of the advertisement content 265 (e.g., to finish workingon a task right now). This extended time can be taken out of the nextad-free period (e.g., the user can only perform the operation twice).The “extend” element 432 can further allow a user to extend anadvertisement presentation by a predetermined delay that depends on theavailability of extensions accrued by the user. In some implementations,the “extend” element 432 may be grayed out from user selection toindicate that no extension is available.

FIG. 4F is an illustrative example of the display 402 that shows anotherexample of the advertisement screen area 406. In this implementation,the advertisement screen area includes a response button 440. Theresponse button 440 is displayed in order to confirm that the user isactually watching the advertisement content 265. During the presentationof the advertisement content 265, the response button 440 may appear ata time that the user does not know of in advance, such as after about athird of the advertisement has been presented. The response button 440may appear in different screen locations, it may appear with a differentsize, and/or it may respond to different keyboard shortcuts, etc., inorder to confirm the presence of an attentive user. If the user clickson the button (for example, within a predefined time from when it isdisplayed), then this advertisement counts as having been watched by theuser.

In contrast, if the user does not click (within the predefined time),then the advertisement does not count. Several different actions can betaken in this situation. For example, a new advertisement begins playingand the system maintains the function(s) disabled until it is finished.As another example, the system can automatically treat this as if theuser had chosen to extend (see, e.g., step 308 in FIG. 3) and let theuser continue working with the system for now, but with a correspondingreduction in the next advertisement-free time period.

FIG. 5 is a screen shot showing a desktop user interface 500. Thedesktop user interface 500 (also referred to herein as “desktop UI”) maybe used to present one or more advertisements, such as the advertisementcontent 265 (FIG. 2). The desktop UI 500 may display one or moreadvertisement screen areas (e.g., advertisement screen area 406 in FIG.4E), such as on top of any instance of other application programs fordisplaying advertisement content.

Referring to FIG. 5, the desktop UI 500 can be a user interface providedby an operating system, such as Mac OS® from Apple Computer, Inc. ofCupertino, Calif. In some implementations, the UI 500 may facilitate topresent the interface used with a control for advertisements, such asthe advertising control 412 (FIG. 4D).

As shown, the desktop UI 500 here has a menu bar 504, an on-screen workarea that includes a background image 502, and one or more otherfeatures such as windows and icons. The menu bar 504 can include userinterface elements such as a time of day field 505 and a help field 507.

The menu bar 504 includes a timer 506. The timer 506 may indicate anamount of time remaining (referred hereinafter as “grace period”) untilthe next advertisement presentation. In the example shown, the timer 506currently displays “60”, indicating that sixty seconds remaining untilthe next advertisement will be shown. Other timing methods also arecontemplated. For example, the timer 506 may indicate a date on or atime at which presentation of an advertisement will be executed (e.g.,on Jan. 1, 2007, or at 7:00 pm). The timer 506 may count down to a zerovalue, or increment up to a specific value. If desired, the timer 506may be configured to visually or audibly alert the user prior toreaching a zero or specific value.

In some implementations, the time displayed by the timer 506 may be setby the advertising presentation module 245 and/or advertisingassignments 280. In another implementations, the time may be set by aprocessor (e.g., processor 103) of a computer device (e.g., computer 102or computer device 205) running the desktop UI 500 to preventunauthorized interference or malicious manipulation with the time. Theprocessor may wait for a user selection to run a random or scheduledadvertisement during the grace period (as will be discussed in greaterdetail below with respect to FIG. 6), or compare an elapsed time asindicated by the timer 506 to a predetermined maximum time (referredhereinafter as a “timeout period”). If the timeout period has beenreached without a user selection to execute the advertisementpresentation, the processor may automatically activate the presentationwithout user intervention. If the timeout period has not been reachedand a user has yet to make a determination to watch an advertisementpresentation, the timer 506 remains displayed and the processor maycontinue to monitor user action.

At the conclusion of an advertisement presentation, the timer 506 mayautomatically be reset. For example, upon completion of an advertisementpresentation, the processor may reset the timer 506 to a preset time.The preset time may be determined by an advertiser or promotersponsoring the advertisement presentation. Alternatively, the presettime may be regulated by the manufacturer of the computer device runningthe desktop UI 500.

In some implementations, when a cursor is hovered on the timer 506 orwhen the timer 506 is clicked on by the cursor, a contextual menu isdisplayed. The contextual menu may display one or more functions orcontrols for executing the advertisement presentation. Such functionsand controls may be presented as buttons, commands in the form of menuitems, or other user interface elements that can be manually selected bya user. For example, the user may navigate to a specific menu itemwithin the contextual menu using a cursor. The cursor can be a commonpointer as controlled by input devices such as a standard mouse,trackball, keyboard pointer, touch screen or other user manageabledevices or navigation tools. These input devices can generally controlmovement of a cursor in response to input received from the user.

FIG. 6 shows an example of a contextual menu 600. The contextual menu600 may include one or more menu items 602-610 each associated with howor when an advertisement presentation will be presented. In someimplementations, one or more menu items (e.g., menu item 608) mayinclude a uniform resource link that permits a user to navigate to alanding page or a website provided by an advertiser (e.g., web site 225)where the user may consummate a purchase of a product or a service beingpromoted by the advertisement presentation.

Referring to FIG. 6, the contextual menu 600 may include, withoutlimitation, menu items 602-610 labeled as “Delay Next Ad 10 Minutes”,“Watch Ads Now”, “Watch Previous Ad”, “Visit Previous Ads Website” or“Recent Ads”. A user may select one of the menu items 602-610 by manualselection (e.g., by clicking using a cursor), or by pressing a functionkey or key combination, or by some other means for invoking thefunctions or controls associated with the menu items 602-610.

If a user wishes to delay an advertisement presentation, the user maysimply select the “Delay Next Ad 10 Minutes” menu item 602. Uponselection, the “grace period” may be extended instantaneously. Forexample, the grace period may be extended by a total of ten minutesbefore the advertisement presentation is executed. The extended graceperiod may then be reflected by the timer 506. As an example, if thetimer 506 currently displays sixty seconds remaining to execute anadvertisement presentation and a user has selected to delay theadvertisement presentation by one minute, then the timer 506 mayautomatically adjust the current remaining time to display a total ofone hundred twenty seconds.

Generally, a user may receive time extensions by watching additionaladvertisement(s) on a voluntary basis. The user may also purchase timeextension (e.g., by clicking on the “pre-buy time” element 426) that canbe used to delay any advertisement presentation. The user may collect afraction of a time extension when viewing a previously-watchedadvertisement should an associated advertiser provide such a subsidizedcampaign.

In some implementations, if it is determined (e.g., by the advertisingpresentation module 245) that no time extension is available to theuser, the menu item 602 may be grayed out from user selection,indicating that the user will need to purchase additional time extensionor to purchase an ad-free version of the system prior to theadvertisement presentation.

The user also may manually activate an advertisement presentation. As anexample, a user may select the “Watch Ads Now” menu item 604 toinstantly begin the advertisement presentation. If the user selects thismenu item prior to a scheduled time of the presentation, the user mayreceive time extensions. The user also may select the “Watch PreviousAd” menu item 606 to view previously watched advertisement(s). In someimplementations, a user may browser a catalog of previously presentedadvertisements when the “Recent Ads” menu item 610 is selected. Forexample, upon selection of the “Recent Ads” menu item 610, another menuor window showing a list of previously presented ads may be populated.The list may include, for example, the last five advertisementspresented to the user. In some implementations, the list may include alladvertisements presented to the user. Should a user desire to visitadvertisers' website(s) associated with any of the previously presentedadvertisements, for example, to purchase or to learn about a product orservice, the user may select the “Visit Previous Ads Website . . . ”menu item 608 to effectuate this process.

While the contextual menu 600 is shown to include five menu items, thenumber of menu items is not limited, and other menu items also may beincluded in the contextual menu 600. For example, the contextual menu600 may include a “Rate Ad” menu item that lets a user rate theeffectiveness of an advertisement based on a spectrum of ranks, a “WatchAd Again” menu item which permits a user to replay an advertisementpresentation, a “Share Ad” menu item that allows a user to forward theadvertisement presentation or a link to the advertisement presentationto one or more parties, or a “Preview Next Ad” menu item which displaysa snippet or a portion of an advertisement presentation that is to beplayed.

In response to receiving a user input to begin the presentation of anadvertisement, the current state of the desktop UI 500 may be saved andtemporarily inactivated. In some implementations, the desktop UI 500remains active but the functions of input devices (e.g., input devices114) and output devices (e.g., output devices 115) coupled to thecomputer device (e.g., computer 102 or computer device 205) aredisabled. Such functions may be temporarily disabled by a processor(e.g., processor 103) or by the advertising presentation module 245communicating with the processor 103. Concurrently or subsequently, ananimation or other graphical effects may be played or presented duringan initial phase of a presentation to introduce the advertisement. FIG.7 depicts an example of an initial phase of an advertisementpresentation. In the example shown, a split-screen animation 700 isexecuted prior to the introduction of an advertisement. The animationmay occupy the entire screen 702. Alternatively, the animation mayoccupy only a portion of the screen 702. Other graphical effects alsoare contemplated. For example, the desktop UI 500 and its components(e.g., menu bars, icons, etc.) may be faded, darkened, brightened,blurred, distorted or otherwise visually modified during the initialstate (or while the advertisement is being presented) so as to emphasizethat the desktop UI 500 is temporarily inactive.

An advertisement presentation may occupy the entire screen 702 so as toprevent the user from engaging in any desktop activities. To verify userpresence during the presentation of the advertisement, in someimplementations, a message may be populated, on a schedule or randombasis, which may require user action or confirmation. As an example, amessage may be populated which may require a user to click on themessage within three seconds. As another example, a message may bepopulated which may require a user to enter the current date, name ofthe advertiser, type of the product or service being advertised,particular textual information being displayed and the like.

In some implementations, a user may dismiss an advertisementpresentation prior to completion, for example, by clicking on theadvertisement (or on an unoccupied screen area outside the advertisementif the advertisement presentation occupies only a portion of the screen702), which may prompt the processor 103 or the log 270 to record suchan action so as to debit the user accordingly for the unfinishedpresentation. It should be understood that other commands, keycombinations, icons, or other user input can be used to dismiss theadvertisement. Upon conclusion or dismissal of the advertisementpresentation, the position, state, and configuration of the desktop UI500 may be restored.

As discussed above, an advertisement presentation may occupy only aportion of the screen 702. The advertisement presentation may bedisplayed in an advertisement screen area (e.g., advertisement screenarea 408). In this example, the user can drag the advertisement screenarea to any location on the screen 702 as desired.

While the presentation of a single advertisement has been described,multiple advertisement presentations also are possible. The multipleadvertisement presentations may be concurrently or sequentiallyexecuted. If desired, the multiple advertisement presentations may bearranged hierarchically by type (e.g., food-related, tools-related,etc.), or alphabetically, or by any other categorization methodology. Atext label also may be added that indicates a type of each advertisement(e.g., sporting goods) or a name of an associated advertiser (e.g.,Joe's Sporting Goods).

The invention can be implemented in digital electronic circuitry, or incomputer hardware, firmware, software, or in combinations of them.Apparatus of the invention can be implemented in a computer programproduct tangibly embodied in an information carrier, e.g., in amachine-readable storage device or in a propagated signal, for executionby a programmable processor; and method steps of the invention can beperformed by a programmable processor executing a program ofinstructions to perform functions of the invention by operating on inputdata and generating output. The invention can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. A computer program is a set of instructionsthat can be used, directly or indirectly, in a computer to perform acertain activity or bring about a certain result. A computer program canbe written in any form of programming language, including compiled orinterpreted languages, and it can be deployed in any form, including asa stand-alone program or as a module, component, subroutine, or otherunit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both. Theessential elements of a computer are a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer will also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the invention can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The invention can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, e.g., a LAN, a WAN, and thecomputers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork, such as the described one. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of implementations of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention.Accordingly, other implementations are within the scope of the followingclaims.

1. A computer-implemented method for operating a device, the method comprising: disabling a function of an operating system in a device; presenting an advertisement in the device while the function is disabled; and enabling the function in response to the advertisement ending.
 2. The computer-implemented method of claim 1, wherein disabling the function causes the device to not respond to an input device.
 3. The computer-implemented method of claim 1, wherein disabling the function causes an application program to cease generating output.
 4. The computer-implemented method of claim 1, wherein the operating system is scheduled to perform the disabling, presentation and enabling steps at predefined times.
 5. The computer-implemented method of claim 1, further comprising selecting the function among a plurality of functions before each advertisement presentation.
 6. The computer-implemented method of claim 5, further comprising determining, before each advertisement presentation, at least one activity being performed in the device, wherein the function is selected using the determination.
 7. The computer-implemented method of claim 1, further comprising: receiving user input prompting the presentation of the advertisement to be postponed for a predefined amount of time; postponing, in response to user input, the presentation of the advertisement by the predefined amount of time; and reducing a time until a subsequent advertisement is presented by the predefined amount of time.
 8. The computer-implemented method of claim 1, further comprising: receiving user input prompting the advertisement to be presented a predefined amount of time earlier than scheduled, wherein the advertisement is presented according to the user input; and extending, in response to the user input and by the predefined amount of time, a time until a subsequent advertisement is presented.
 9. The computer-implemented method of claim 1, wherein the advertisement is presented using a presentation technique selected from the group consisting of: presenting the advertisement as a pane on top of any other pane in a user interface of the device; presenting the advertisement in a designated area of a background of the user interface; presenting the advertisement in a window for an application program; presenting the advertisement inserted in content from an application program; presenting the advertisement through an audio output of the device; and combinations thereof.
 10. The computer-implemented method of claim 1, further comprising: determining whether a user pays attention to the advertisement.
 11. The computer-implemented method of claim 10, wherein the determination comprises: performing, while the advertisement is presented, an operation that urges the user to respond; and detecting whether the user responds to the performed operation.
 12. The computer-implemented method of claim 1, further comprising presenting in the device a user-selectable control that when activated triggers at least one selected from the group consisting of: causing presentation of a page from an advertiser associated with the advertisement; recording a user rating of the advertisement; again presenting the advertisement; sharing the advertisement with another user; initiating a transaction for user purchase of a product that eliminates the presentation of advertisements on the device; postponing presentation of the advertisement; causing the advertisement to be presented ahead of schedule; causing a previous advertisement to be presented; causing a preview of a subsequent advertisement to be presented; causing an overview of all available advertisements to be presented; and initiating a transaction for user purchase of a product or service to which the advertisement relates.
 13. A computer program product tangibly embodied in a computer readable medium and comprising instructions that when executed by a processor perform a method for operating a device, the method comprising: disabling a function of an operating system in a device; presenting an advertisement in the device while the function is disabled; and enabling the function in response to the advertisement ending.
 14. A computer-implemented method for providing an advertisement in a device, the method comprising: providing an operating system of a device with at least one advertisement, the operating system configured to temporarily disable a function thereof and present the advertisement in the device while the function is disabled; and receiving a report from the device confirming that the advertisement has been presented.
 15. The computer-implemented method of claim 14, further comprising configuring the operating system to perform the presentation and temporary disablement steps at predefined times.
 16. The computer-implemented method of claim 14, wherein the report further identifies usage of the device relating to the presentation of the advertisement.
 17. The computer-implemented method of claim 14, wherein the advertisement is selected to be provided to the device based on information about a user of the device.
 18. A computer program product tangibly embodied in a computer readable medium and comprising instructions that when executed by a processor perform a method for providing an advertisement in a device, the method comprising: providing an operating system of a device with at least one advertisement, the operating system configured to temporarily disable a function thereof and present the advertisement in the device while the function is disabled; and receiving a report from the device confirming that the advertisement has been presented.
 19. An operating system tangibly embodied in a computer readable medium and comprising: an advertisement that the operating system is configured to present to a user; and a function that the operating system is configured to disable for presenting the advertisement and then enable in response to the advertisement ending.
 20. The operating system of claim 19, wherein disabling the function causes the operating system to not respond to an input device.
 21. The operating system of claim 19, wherein disabling the function causes an application program to cease generating output.
 22. The operating system of claim 19, wherein the advertisement is presented using a presentation technique selected from the group consisting of: presenting the advertisement as a pane on top of any other pane in a user interface of the device; presenting the advertisement in a designated area of a background of the user interface; presenting the advertisement in a window for an application program; presenting the advertisement inserted in content from an application program; presenting the advertisement through an audio output of the device; and combinations thereof. 